home *** CD-ROM | disk | FTP | other *** search
/ AmigActive 23 / AACD 23.iso / AACD / Magazine / YAM / Source / includes / libraries / cmanager.h next >
Encoding:
C/C++ Source or Header  |  2000-12-15  |  3.4 KB  |  142 lines

  1. #ifndef CMANAGER_H
  2. #define CMANAGER_H
  3.  
  4. /*
  5.     $VER: CManager.h 1.4 (30.5.98) © Simone Tellini
  6. */
  7.  
  8. #ifndef MAKE_ID
  9. #define MAKE_ID(a,b,c,d)    ((ULONG) (a)<<24 | (ULONG) (b)<<16 | (ULONG) (c)<<8 | (ULONG) (d))
  10. #endif
  11.  
  12.  
  13. #define CME_GROUP   0
  14. #define CME_USER    1
  15. #define CME_WWW     2
  16. #define CME_FTP     3
  17. #define CME_CHAT    4
  18.  
  19. #define CME_LIST    253
  20. #define CME_IMAGE   254
  21. #define CME_SECTION 255
  22.  
  23. struct CMGroup {
  24.         struct CMGroup *Succ;
  25.         struct CMGroup *Prec;
  26.         UBYTE           Type;
  27.         UBYTE           Flags;
  28.         TEXT            Name[80];
  29.         struct MinList  Entries;
  30.         struct MinList  SubGroups;
  31. };
  32.  
  33. #define GRPF_BOLD       (1 << 0)
  34. #define GRPF_OPEN       (1 << 1)
  35.  
  36. struct CMUser {
  37.         struct CMUser  *Succ;
  38.         struct CMUser  *Prec;
  39.         UBYTE           Type;
  40.         UBYTE           Flags;
  41.         TEXT            Name[80];       //  FirstName
  42.         TEXT            Address[128];
  43.         TEXT            City[128];
  44.         TEXT            Country[80];
  45.         TEXT            ZIP[20];
  46.         TEXT            Comment[512];
  47.         TEXT            Alias[40];
  48.         TEXT            Phone[40];
  49.         TEXT            Fax[40];
  50.         TEXT            EMail[128];
  51.         TEXT            WWW[256];
  52.         TEXT            FTP[256];
  53.         TEXT            LastName[80];
  54.         TEXT            Mobile[40];
  55.         struct CMImage *Image;
  56. };
  57.  
  58. struct CMWWW {
  59.         struct CMWWW   *Succ;
  60.         struct CMWWW   *Prec;
  61.         UBYTE           Type;
  62.         UBYTE           Flags;
  63.         TEXT            Name[80];
  64.         TEXT            WWW[256];
  65.         TEXT            Comment[512];
  66.         TEXT            WebMaster[80];
  67.         TEXT            EMail[128];
  68. };
  69.  
  70. struct CMFTP {
  71.         struct CMFTP   *Succ;
  72.         struct CMFTP   *Prec;
  73.         UBYTE           Type;
  74.         UBYTE           Flags;
  75.         TEXT            Name[80];
  76.         TEXT            FTP[256];
  77.         TEXT            Comment[512];
  78.         TEXT            Username[60];
  79.         TEXT            Password[60];
  80.         ULONG           Port;
  81.         ULONG           Retries;
  82.         TEXT            Local[256];
  83. };
  84.  
  85. #define FTPF_ADVANCED   (1 << 0)
  86. #define FTPF_QUIET      (1 << 1)
  87. #define FTPF_COMPRESS   (1 << 2)
  88. #define FTPF_ADT        (1 << 3)
  89. #define FTPF_ANONYMOUS  (1 << 4)
  90. #define FTPF_LOCAL      (1 << 5)
  91.  
  92. struct CMChat {
  93.         struct CMChat  *Succ;
  94.         struct CMChat  *Prec;
  95.         UBYTE           Type;
  96.         UBYTE           Flags;
  97.         TEXT            Channel[128];
  98.         TEXT            Server[128];
  99.         TEXT            Maintainer[80];
  100.         TEXT            Nick[20];
  101.         TEXT            WWW[256];
  102.         TEXT            Comment[512];
  103.         TEXT            Password[60];
  104. };
  105.  
  106.  
  107. struct CMImage {
  108.         struct CMImage *Succ;
  109.         struct CMImage *Prec;
  110.         UBYTE           Type;
  111.         UBYTE           Flags;
  112.         struct BitMap  *BitMap;
  113.         APTR            Colors;
  114. };
  115.  
  116.  
  117. /*
  118.  *          Structure to be passed to CM_LoadData(), CM_SaveData(), CM_FreeData()
  119.  */
  120.  
  121. struct CMData {
  122.         struct CMGroup *Users;
  123.         struct CMGroup *WWWs;
  124.         struct CMGroup *FTPs;
  125.         struct CMGroup *Chat;
  126. };
  127.  
  128. /*
  129.  *          Flags for CM_GetEntry()
  130.  */
  131.  
  132. #define CMGE_USER           (1 << 0)
  133. #define CMGE_WWW            (1 << 1)
  134. #define CMGE_FTP            (1 << 2)
  135. #define CMGE_CHAT           (1 << 3)
  136. #define CMGE_MULTISELECT    (1 << 4)    //  CM_GetEntry returns a struct MinList *
  137.  
  138.  
  139.  
  140.  
  141. #endif /* CMANAGER_H */
  142.